The Unified Extensible Firmware Interface Forum (the “UEFI Forum”) is an alliance between several leading technology companies to modernize the booting process by use of a new protocol, the Unified Extensible Firmware Interface (UEFI) protocol. The UEFI Forum has published several versions of the UEFI protocol, the latest being version 2.3 on May 9, 2009.
Many microchip (or “chip”) manufactures provide their customers with Customer Reference Boards (CRBs) as platforms to allow their customers to evaluate the chips supplied by the chip manufacturer. These platforms may include other hardware, software, or embedded firmware components, some of which may be tailored to a particular application of the manufacturer's customer. Customers of the chip manufacturer are entitled to install the platform on one or more systems/devices (e.g., servers, personal computers, etc.) in order to evaluate the respective chip for their application. The embedded firmware in CRBs (also known as platform firmware) may include one or more Unified Extensible Firmware Interface (UEFI) component, each performing as a programming interface between the operating system (OS) of the system and the embedded firmware of the platform. The UEFI component also performs the function of platform initialization.
The Platform Initialization Working Group (PIWG) of the UEFI Forum provides specifications that are intended to promote interoperability between firmware components provided by various entities, such as silicon vendors and firmware vendors. These specifications provide a common internal framework for developers of hardware components and platform drivers
A challenge of using UEFI arises from the large amount of effort required to perform customization of UEFI builds to suit the requirements of Original Equipment Manufacturers (OEMs), Original Device Manufacturers (OFM), and others. Such customization may be performed by adapting the firmware to support a new or revised hardware component provided by the OEM. Unfortunately, in the present state of the art, effecting such customization is time-consuming, error-prone, and costly.